Optical communications use a variety of different modulation schemes to encode information on an optical signal. In quadrature amplitude modulation (QAM), for example, an in-phase and a quadrature signal, ninety degrees out of phase from one another, are amplitude-modulated to encode information. The result is a signal constellation, which maps the different bit sequences that are possible by any given combination of amplitude levels on the two signals. For a four-point QAM constellation, each point (known as a “symbol”) encodes two bits. For an eight-point QAM constellation, each symbol encodes three bits.
When assigning bit sequences to a constellation, care is taken to ensure that the difference in the sequences encoded by one symbol and a neighboring symbol have as many bits in common as possible. For example, in a four-symbol QAM (4QAM), the sequence 11 may have 01 and 10 as its neighbors. This is done to minimize the effect of errors in detection, where the most likely error is that a symbol is mistaken for its neighbor.
However, while the neighbors would ideally differ by at most one bit, this is not possible for every constellation. This encoding, called Gray coding, is not applicable to eight-symbol QAM (8QAM). Because actual Gray mapping is not available in 8QAM, some existing systems use iterative coding, which is more computationally expensive than Gray coding and is difficult to implement at high speeds. As a result, existing 8QAM systems perform beneath their optimal abilities.